<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Horde3D Utility Library</title><link rel="stylesheet" type="text/css" href="css/api.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.52 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Horde3D_Utility_Library"></a>Horde3D Utility Library</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Horde3D_Utility_Library" >Horde3D Utility Library</a></td><td class=SDescription></td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Introduction" >Introduction</a></td><td class=SDescription>Some words about the Utility Library.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Typedefs_and_constants" >Typedefs and constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#Predefined_constants" >Predefined constants</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#General_functions" >General functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutFreeMem" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">h3dutFreeMem</a></td><td class=SDescription>Frees memory allocated by the Utility Library.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dutDumpMessages" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">h3dutDumpMessages</a></td><td class=SDescription>Writes all messages in the queue to a log file.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Resource_management" >Resource management</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutGetResourcePath" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">h3dutGetResourcePath</a></td><td class=SDescription><b>Deprecated</b> Returns  the search path of a resource type.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dutSetResourcePath" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">h3dutSetResourcePath</a></td><td class=SDescription><b>Deprecated</b> Sets the search path for a resource type.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutLoadResourcesFromDisk" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">h3dutLoadResourcesFromDisk</a></td><td class=SDescription>Loads previously added resources from a data drive.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dutCreateGeometryRes" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">h3dutCreateGeometryRes</a></td><td class=SDescription>Creates a Geometry resource from specified vertex data.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutCreateTGAImage" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">h3dutCreateTGAImage</a></td><td class=SDescription>Creates a TGA image in memory.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Utils" >Utils</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutScreenshot" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">h3dutScreenshot</a></td><td class=SDescription>Writes the content of the backbuffer to a tga file.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Scene_graph" >Scene graph</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutPickRay" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">h3dutPickRay</a></td><td class=SDescription>Calculates the ray originating at the specified camera and window coordinates</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dutPickNode" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">h3dutPickNode</a></td><td class=SDescription>Returns the scene node which is at the specified window coordinates.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutGetScreenshotParam" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">h3dutGetScreenshotParam</a></td><td class=SDescription>Return width and height for current screenshot.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dutScreenshotRaw" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">h3dutScreenshotRaw</a></td><td class=SDescription>Take screenshot and copy it to user provided `rgb` buffer.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Overlays" >Overlays</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutShowText" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">h3dutShowText</a></td><td class=SDescription>Shows text on the screen using a font texture.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dutShowInfoBox" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">h3dutShowInfoBox</a></td><td class=SDescription>Shows a customizable info box on the screen.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dutShowFrameStats" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">h3dutShowFrameStats</a></td><td class=SDescription>Shows frame statistics on the screen.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Introduction"></a>Introduction</h3><div class=CBody><p>Some words about the Utility Library.</p><p>Horde3D has a simple core API which offers all the functionality needed to control the engine.&nbsp; The engine core is intended to be as generic as possible to make the complete system lightweight and clean.&nbsp; Nevertheless, it is sometimes useful to have more specific functions in order to increase productivity.&nbsp; For this reason the Utility Library is offered.&nbsp; It has some very handy functions that can help to make your life easier.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Typedefs_and_constants"></a>Typedefs and constants</h3></div></div>

<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Predefined_constants"></a>Predefined constants</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="H3DUTMaxStatMode"></a>H3DUTMaxStatMode</td><td class=CDLDescription>Maximum stat mode number supported in showFrameStats</td></tr></table></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="General_functions"></a>General functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutFreeMem"></a>h3dutFreeMem</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutFreeMem(</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>ptr</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Frees memory allocated by the Utility Library.</p><h4 class=CHeading>Details</h4><p>This utility function frees the memory that was allocated by another function of the Utility Library.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>ptr</td><td class=CDLDescription>address of a pointer that references to memory allocated by the Utility Library</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutDumpMessages"></a>h3dutDumpMessages</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL bool h3dutDumpMessages()</td></tr></table></blockquote><p>Writes all messages in the queue to a log file.</p><h4 class=CHeading>Details</h4><p>This utility function pops all messages from the message queue and writes them to a HTML formated log file &lsquo;Horde3D_Log.html&rsquo;.</p><h4 class=CHeading>Parameters</h4><p>none</p><h4 class=CHeading>Returns</h4><p>true in case of success, otherwise false</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Resource_management"></a>Resource management</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutGetResourcePath"></a>h3dutGetResourcePath</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dutGetResourcePath(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>type</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><b>Deprecated</b> Returns  the search path of a resource type.</p><h4 class=CHeading>Details</h4><p>This function returns the search path of a specified resource type.</p><p>The function is now marked as deprecated since it is better practice to make all paths relative to the content directory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>type of resource</td></tr></table><h4 class=CHeading>Returns</h4><p>pointer to the search path string</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutSetResourcePath"></a>h3dutSetResourcePath</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutSetResourcePath(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>type,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>path</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><b>Deprecated</b> Sets the search path for a resource type.</p><h4 class=CHeading>Details</h4><p>This function sets the search path for a specified resource type.</p><p>The function is now marked as deprecated since it is better practice to make all paths relative to the content directory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>type of resource</td></tr><tr><td class=CDLEntry>path</td><td class=CDLDescription>path where the resources can be found ((back-)slashes at end are removed)</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutLoadResourcesFromDisk"></a>h3dutLoadResourcesFromDisk</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dutLoadResourcesFromDisk(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>contentDir</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Loads previously added resources from a data drive.</p><h4 class=CHeading>Details</h4><p>This utility function loads previously added and still unloaded resources from the specified directories on a data drive.&nbsp; Several search paths can be specified using the pipe character (|) as separator.&nbsp; All resource names are directly converted to filenames and the function tries to find them in the specified directories using the given order of the search paths.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>contentDir</td><td class=CDLDescription>directories where data is located on the drive ((back-)slashes at end are removed)</td></tr></table><h4 class=CHeading>Returns</h4><p>false if at least one resource could not be loaded, otherwise true</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutCreateGeometryRes"></a>h3dutCreateGeometryRes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dutCreateGeometryRes(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>numVertices,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>numTriangleIndices,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>posData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned&nbsp;</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>indexData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>normalData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tangentData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>bitangentData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>texData1,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>texData2</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a Geometry resource from specified vertex data.</p><h4 class=CHeading>Details</h4><p>This utility function allocates and initializes a Geometry resource with the specified vertex attributes and indices.&nbsp; The optional tangent space data (normal, tangent, bitangent) is encoded as int16, where -1.0 maps to -32&rsquo;767 and 1.0f to +32&rsquo;767.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>name</td><td class=CDLDescription>unique name of the new Geometry resource</td></tr><tr><td class=CDLEntry>numVertices</td><td class=CDLDescription>number of vertices</td></tr><tr><td class=CDLEntry>numTriangleIndices</td><td class=CDLDescription>number of vertex indices</td></tr><tr><td class=CDLEntry>posData</td><td class=CDLDescription>vertex positions (xyz)</td></tr><tr><td class=CDLEntry>indexData</td><td class=CDLDescription>indices defining triangles</td></tr><tr><td class=CDLEntry>normalData</td><td class=CDLDescription>normals xyz (optional, can be NULL)</td></tr><tr><td class=CDLEntry>tangentData</td><td class=CDLDescription>tangents xyz (optional, can be NULL)</td></tr><tr><td class=CDLEntry>bitangentData</td><td class=CDLDescription>bitangents xyz (required if tangents specified, otherwise NULL)</td></tr><tr><td class=CDLEntry>texData1</td><td class=CDLDescription>first texture coordinate uv set (optional, can be NULL)</td></tr><tr><td class=CDLEntry>texData2</td><td class=CDLDescription>second texture coordinate uv set (optional, can be NULL)</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to new Geometry resource or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutCreateTGAImage"></a>h3dutCreateTGAImage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dutCreateTGAImage(</td><td class="PTypePrefix  prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>pixels,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>height,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>bpp,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>outData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outSize</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a TGA image in memory.</p><h4 class=CHeading>Details</h4><p>This utility function allocates memory at the pointer outData and creates a TGA image from the specified pixel data.&nbsp; The dimensions of the image have to be specified as well as the bit depth.&nbsp; The created TGA-image-data can be used as Texture2D or TexureCube resource in the engine.</p><p><b>Note: The memory allocated by this routine has to freed manually using the freeMem function.</b></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pixels</td><td class=CDLDescription>pointer to pixel source data in BGR(A) format from which TGA-image is constructed; memory layout: pixel with position (x, y) in image (origin of image is lower left corner) has memory location (y * width + x) * (bpp / 8) in pixels array</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>width of source image</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>height of source image</td></tr><tr><td class=CDLEntry>bpp</td><td class=CDLDescription>color bit depth of source data (valid values: 24, 32)</td></tr><tr><td class=CDLEntry>outData</td><td class=CDLDescription>address of a pointer to which the address of the created memory block is written</td></tr><tr><td class=CDLEntry>outSize</td><td class=CDLDescription>variable to which to size of the created memory block is written</td></tr></table><h4 class=CHeading>Returns</h4><p>false if at least one resource could not be loaded, otherwise true</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Utils"></a>Utils</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutScreenshot"></a>h3dutScreenshot</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dutScreenshot(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>filename</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Writes the content of the backbuffer to a tga file.</p><h4 class=CHeading>Details</h4><p>This function reads back the content of the backbuffer and writes it to a tga file with the specified filename and path.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>filename and path of the output tga file</td></tr></table><h4 class=CHeading>Returns</h4><p>true if the file could be written, otherwise false</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Scene_graph"></a>Scene graph</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutPickRay"></a>h3dutPickRay</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutPickRay(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>nwx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>nwy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ox,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>oy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>oz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dz</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Calculates the ray originating at the specified camera and window coordinates</p><h4 class=CHeading>Details</h4><p>This utility function takes normalized window coordinates (ranging from 0 to 1 with the origin being the bottom left corner of the window) and returns ray origin and direction for the given camera.&nbsp; The function is especially useful for selecting objects by clicking on them.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cameraNode</td><td class=CDLDescription>camera used for picking</td></tr><tr><td class=CDLEntry>nwx, nwy</td><td class=CDLDescription>normalized window coordinates</td></tr><tr><td class=CDLEntry>ox, oy, oz</td><td class=CDLDescription>calculated ray origin</td></tr><tr><td class=CDLEntry>dx, dy, dz</td><td class=CDLDescription>calculated ray direction</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutPickNode"></a>h3dutPickNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dutPickNode(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>nwx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>nwy</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the scene node which is at the specified window coordinates.</p><h4 class=CHeading>Details</h4><p>This utility function takes normalized window coordinates (ranging from 0 to 1 with the origin being the bottom left corner of the window) and returns the scene node which is visible at that location.&nbsp; The function is especially useful for selecting objects by clicking on them.&nbsp; Currently picking is only working for Meshes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cameraNode</td><td class=CDLDescription>camera used for picking</td></tr><tr><td class=CDLEntry>nwx, nwy</td><td class=CDLDescription>normalized window coordinates</td></tr></table><h4 class=CHeading>Returns</h4><p>handle of picked node or 0 if no node was hit</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutGetScreenshotParam"></a>h3dutGetScreenshotParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutGetScreenshotParam(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>height</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Return width and height for current screenshot.</p><h4 class=CHeading>Details</h4><p>This function is useful in conjunction with h3dutScreenshotRaw to allocate arrays with the correct size.</p><h4 class=CHeading>Parameters</h4><p>width: will contain the screenshot width height: will contain the screenshot height</p><h4 class=CHeading>Returns</h4><p>None</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutScreenshotRaw"></a>h3dutScreenshotRaw</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dutScreenshotRaw(</td><td class="PTypePrefix  prettyprint " nowrap>unsigned&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>rgb,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>rgb_len</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Take screenshot and copy it to user provided `rgb` buffer.</p><h4 class=CHeading>Details</h4><p>The user must provide an RGB array and its size in bytes.&nbsp; The buffer must be at least width * height * 3 bytes large.&nbsp; Use `h3dutGetScreenshotParam` to determine the width and height.</p><h4 class=CHeading>Parameters</h4><p>rgb: buffer to hold the image (must be at least width * height * 3 bytes large) rgb_len: length of `rgb` buffer in bytes.</p><h4 class=CHeading>Returns</h4><p>true if screenshot could be copied.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Overlays"></a>Overlays</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutShowText"></a>h3dutShowText</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutShowText(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>text,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colR,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colG,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colB,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fontMaterialRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Shows text on the screen using a font texture.</p><h4 class=CHeading>Details</h4><p>This utility function uses overlays to display a text string at a specified position on the screen.&nbsp; The font texture of the specified font material has to be a regular 16x16 grid containing all ASCII characters in row-major order.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>text</td><td class=CDLDescription>text string to be displayed</td></tr><tr><td class=CDLEntry>x, y</td><td class=CDLDescription>position of the lower left corner of the first character; for more details on coordinate system see overlay documentation</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>size (scale) factor of the font</td></tr><tr><td class=CDLEntry>colR, colG, colB</td><td class=CDLDescription>font color</td></tr><tr><td class=CDLEntry>fontMaterialRes</td><td class=CDLDescription>font material resource used for rendering</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutShowInfoBox"></a>h3dutShowInfoBox</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutShowInfoBox(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>title,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>numRows,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>column1,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>column2,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fontMaterialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>panelMaterialRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Shows a customizable info box on the screen.</p><h4 class=CHeading>Details</h4><p>This utility function displays an info box with custom text for the current frame on the screen.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x, y</td><td class=CDLDescription>position of the top left corner of the box; for more details on coordinate system see overlay documentation</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>maximum width of info box</td></tr><tr><td class=CDLEntry>title</td><td class=CDLDescription>title string of info box</td></tr><tr><td class=CDLEntry>numRows</td><td class=CDLDescription>Number of info rows</td></tr><tr><td class=CDLEntry>column1</td><td class=CDLDescription>list of strings to print in first column (=numRows)</td></tr><tr><td class=CDLEntry>column2</td><td class=CDLDescription>list of strings to print in second column (=numRows)</td></tr><tr><td class=CDLEntry>panelMaterialRes</td><td class=CDLDescription>material resource used for drawing info box</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dutShowFrameStats"></a>h3dutShowFrameStats</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutShowFrameStats(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>fontMaterialRes,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>panelMaterialRes,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>mode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Shows frame statistics on the screen.</p><h4 class=CHeading>Details</h4><p>This utility function displays an info box with statistics for the current frame on the screen.&nbsp; Since the statistic counters are reset after the call, the function should be called exactly once per frame to obtain correct values.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>fontMaterialRes</td><td class=CDLDescription>font material resource used for drawing text</td></tr><tr><td class=CDLEntry>panelMaterialRes</td><td class=CDLDescription>material resource used for drawing info box</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>display mode, specifying which data is shown (&lt;= MaxStatMode)</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

</div><!--Content-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutFreeMem(</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>ptr</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Frees memory allocated by the Utility Library.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL bool h3dutDumpMessages()</td></tr></table></blockquote>Writes all messages in the queue to a log file.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dutGetResourcePath(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>type</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><b>Deprecated</b> Returns  the search path of a resource type.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutSetResourcePath(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>type,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>path</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><b>Deprecated</b> Sets the search path for a resource type.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dutLoadResourcesFromDisk(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>contentDir</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Loads previously added resources from a data drive.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dutCreateGeometryRes(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>numVertices,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>numTriangleIndices,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>posData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned&nbsp;</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>indexData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>normalData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tangentData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>bitangentData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>texData1,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>texData2</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a Geometry resource from specified vertex data.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dutCreateTGAImage(</td><td class="PTypePrefix  prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>pixels,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>height,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>bpp,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>outData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>outSize</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a TGA image in memory.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dutScreenshot(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>filename</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes the content of the backbuffer to a tga file.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutPickRay(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>nwx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>nwy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ox,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>oy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>oz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dz</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Calculates the ray originating at the specified camera and window coordinates</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dutPickNode(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>nwx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>nwy</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the scene node which is at the specified window coordinates.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutGetScreenshotParam(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>height</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return width and height for current screenshot.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dutScreenshotRaw(</td><td class="PTypePrefix  prettyprint " nowrap>unsigned&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>rgb,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>rgb_len</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Take screenshot and copy it to user provided `rgb` buffer.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutShowText(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>text,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colR,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colG,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colB,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fontMaterialRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Shows text on the screen using a font texture.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutShowInfoBox(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>title,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>numRows,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>column1,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>column2,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fontMaterialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>panelMaterialRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Shows a customizable info box on the screen.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dutShowFrameStats(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>fontMaterialRes,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>panelMaterialRes,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>mode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Shows frame statistics on the screen.</div></div><!--END_ND_TOOLTIPS-->

<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>